<h1 id="umount">umount</h1>
<p>用于卸载已经加载的文件系统</p>
<h2 id="补充说明">补充说明</h2>
<p><strong>umount命令</strong> 用于卸载已经加载的文件系统。利用设备名或挂载点都能umount文件系统，不过最好还是通过挂载点卸载，以免使用绑定挂载（一个设备，多个挂载点）时产生混乱。</p>
<h3 id="语法">语法</h3>
<pre><code class="language-bash">umount(选项)(参数)</code></pre>
<h3 id="选项">选项</h3>
<pre><code class="language-bash">-a：卸除/etc/mtab中记录的所有文件系统；
-h：显示帮助；
-n：卸除时不要将信息存入/etc/mtab文件中；
-r：若无法成功卸除，则尝试以只读的方式重新挂入文件系统；
-t&lt;文件系统类型&gt;：仅卸除选项中所指定的文件系统；
-v：执行时显示详细的信息；
-V：显示版本信息。</code></pre>
<h3 id="参数">参数</h3>
<p>文件系统：指定要卸载的文件系统或者其对应的设备文件名。</p>
<h3 id="实例">实例</h3>
<p>下面两条命令分别通过设备名和挂载点卸载文件系统，同时输出详细信息：</p>
<p>通过设备名卸载</p>
<pre><code class="language-bash">umount -v /dev/sda1
/dev/sda1 umounted</code></pre>
<p>通过挂载点卸载</p>
<pre><code class="language-bash">umount -v /mnt/mymount/
/tmp/diskboot.img umounted</code></pre>
<p>如果设备正忙，卸载即告失败。卸载失败的常见原因是，某个打开的shell当前目录为挂载点里的某个目录：</p>
<pre><code class="language-bash">umount -v /mnt/mymount/
umount: /mnt/mymount: device is busy
umount: /mnt/mymount: device is busy</code></pre>
<p>有时，导致设备忙的原因并不好找。碰到这种情况时，可以用lsof列出已打开文件，然后搜索列表查找待卸载的挂载点：</p>
<pre><code class="language-bash">lsof | grep mymount         查找mymount分区里打开的文件
bash   9341  francois  cwd   DIR   8,1   1024    2 /mnt/mymount</code></pre>
<p>从上面的输出可知，mymount分区无法卸载的原因在于，francois运行的PID为9341的bash进程。</p>
<p>对付系统文件正忙的另一种方法是执行延迟卸载：</p>
<pre><code class="language-bash">umount -vl /mnt/mymount/     执行延迟卸载</code></pre>
<p>延迟卸载（lazy unmount）会立即卸载目录树里的文件系统，等到设备不再繁忙时才清理所有相关资源。卸载可移动存储介质还可以用eject命令。下面这条命令会卸载cd并弹出CD：</p>
<pre><code class="language-bash">eject /dev/cdrom      卸载并弹出CD </code></pre>
<!-- Linux命令行搜索引擎：https://jaywcjlove.github.io/linux-command/ -->
